home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turnbull China Bikeride
/
Turnbull China Bikeride - Disc 2.iso
/
STUTTGART
/
UTIL
/
MOUSE
/
HOUREXT
/
!HourExt
/
!Help
< prev
next >
Wrap
Text File
|
1994-09-19
|
11KB
|
217 lines
Hourglass Extension version 1.10
© Sam Kington 8th August 1994
This program is freeware, *not* public domain – i.e., I retain copyright (see
“Boring legal message”).
This module will only work with RISC OS 3 or later.
What this program does
**********************
For a start, this program is essentially one small module, HourExt, which
at about 2300 bytes is considerably smaller than the whole application, which
weighs in at slightly less than 44K, of which most is the source code and
this help file. If you decide you don’t need the whole application cluttering
up your hard disc or floppy or whatever, you can put the module somewhere else
(!System.Modules would be a good place), and RMLoad it in your Boot sequence.
If you decide you don’t want *any* of the application, of course, you can
delete the whole thing. If you want to distribute this program or use it for
your own programs, see “Distribution”.
Anyway, down to what the module does. Basically, it sits in the
background, and when you change the palette it changes the hourglass colours
to match. So if you change the mouse pointer colours, say to black and white
instead of the default dark and light blue, it will change the colour of the
Hourglass to black and white as well.
Actually, you have slightly more choice than that. The hourglass only uses
two colours, and if you take a quick look at the palette you will notice that
there are in fact three different mouse colours: 1, used for the mouse
border, 2, used for the inside, and 3, usually red, used for “alert”-style
pointers such as when you want to copy a file from the CLI. So there is a
special *command, *Hourglass_Colours <sand colour> <background colour>, where
<sand colour> and <background colour> are numbers between 1 and 3, which will
set the colours accordingly. The default setting is Hourglass_Colours 1 2;
experiment until you find your favourite setting.
*Hourglass On|Off|<percentage> will turn the hourglass on or off, or
display the supplied percentage underneath the hourglass. You may already
have a module that supplies a command of the same name, but in practice there
shouldn’t be any conflicts as once a command has been handled by one module,
it won’t be passed onto another module. To ensure *Hourglass gets passed to
HourExt, load it before other modules with the same command.
Note that when you type Hourglass Off, you will not necessarily turn it
off: you have to issue a Hourglass Off for every Hourglass On. Also, if you
set the percentage of the hourglass (say Hourglass Percentage 50), then issue
another Hourglass On, any subsequent Hourglass Percentage calls will be
ineffective until you issue as many Hourglass Offs as you issued Hourglass
Ons after setting the percentage. Issuing a further Hourglass_Off will turn
off the percentage. This is an internal feature of RISC OS, nothing to do
with HourExt.
*Hourglass_LEDs On|Off On|Off will set the state of the LEDs, so
*Hourglass_LEDs On Off would set the first one on and the second one off.
As well as changing the colour of the Hourglass to suit the palette, and
allowing you to muck around with the hourglass, HourExt sets up two filters
which intercept all calls to Wimp_Poll, turning on the Hourglass after
control has been given to a program, and turning it off when they give it
back. The practical upshot is that whenever one application spends too much
time on its own without letting other applications have a turn (and, more
importantly, without letting you do anything), the Hourglass is turned on
until the task gives control back. You can alter the delay before the
hourglass is turned on when an application stops multitasking, with the
command *Hourglass_Delay <time in centiseconds>. *Hourglass_Delay 0 turns off
all multitasking checking.
Finally, HourExt knows about Desktop saves, and will insert the relevent
commands in any Desktop files. However, it needs to know where to load itself
from, and does so by looking at the variable HourExt$Module. If the module is
run by the !HourExt application, this will be set up automatically; however,
if it is RMLoaded from somewhere in a Boot sequence or whatever, the variable
will not be set up. If the variable doesn't exist, the module assumes it was
started as System:Modules.HourExt, which is a sensible default; if you load
it from somewhere else, say !Boot.AutoLoad.HourExt, add *Set HourExt$Module
!Boot.AutoLoad.HourExt to the file you load HourExt in.
Limitations
***********
HourExt turns the hourglass on if the machine stops multitasking for a
defined period, which works most of the time. It also notices if you press
F12, and won’t turn the hourglass on in that case. However, if you select
*Commands from the Task Manager menu, the hourglass will come on, and stay on
until you go back to the desktop.
In general, if you stop multitasking, HourExt will put up an hourglass;
however, if you are actually doing something but not multitasking, as opposed
to a program hogging the machine, then it shouldn’t put up an hourglass.
Unfortunately, it has no way of knowing which is which – and do bear in mind
that this is just a quick program written in a couple of days. You are likely
to have problems with screen captures from Paint, and any single-tasking
program that doesn’t turn off the pointer, which includes most *Info programs
from Acorn User but not most games (I don’t think). If it annoys you, use
*Hourglass_Delay 0 to turn the checking off.
Boring legal message
********************
This application is freeware, that is, it can be distributed freely as
long as only reasonable charges are made for media and distribution. I retain
copyright on all program code and documentation.
This software is supplied “as is”: I make no warranty, expressed or
implied, of the merchantability of this software or its fitness for any
particular purpose. In no circumstances shall I be liable for any damage,
loss of profits, or any indirect or consequential loss arising out of the use
of this software or inability to use this software, even if I have been
advised of the possibility of such loss.
In other words, if your computer crashes, blows up, you lose all your work
etc. all because of HourExt (unlikely I know), don’t blame me.
Distribution
************
The following files should be present in a full version of HourExt (you
may, however, not have the full version):
Name Purpose Usefulness
****************************************************
!Boot Not very
!Run Not very
!Sprites Not very
HourExt The main module Essential
ModSource The source code to the module Slightly
ShortHelp Help text compaction Quite
ShortHDocs Help on ShortHelp Quite
!Help This file Very
Vsn110 This is version 1.10 Not at all
The “Vsn110” file’s only purpose is to show that this is version 1.10 – which
is useful if you’re browsing directory displays, or you have several
different versions. As it is, there is only one (distributed) version of
HourExt. If you remove this file, nothing at all will fail to happen.
The only point of the !Boot, !Run, and !Sprites is to make this an
application, so there is a HourExt$Dir variable, so the source code can find
the ShortHelp routines (see below). They also set up HourExt$Module; if you
simply RMLoad the module from a path different from System:Modules.HourExt,
you must set this up yourself (see above).
ModSource and ShortHelp are basically the source code of the module; or
rather, ModSource is the source code, and uses routines in ShortHelp.
ShortHelp is a collection of routines which will compact strings using RISC
OS’s internal dictionary, to be re-expanded by *Help. ShortHDocs is
essentially a !Help file for ShortHelp.
HourExt is of course the main module, without which the whole thing is
useless.
Although I would prefer you distributed all the files together, if you want to
include any of the routines in your own programs (the module or the ShortHelp
routines) you will probably not want to distribute all the almost-useless
files. So here are the conditions for distribution:
• This file (!Help) must always be distributed with the HourExt module,
complete and unmodified.
• If you distribute ModSource, you must include ShortHelp (otherwise it
won’t compile). If you don’t include the !Boot etc. files, you will have to
change the ModSource code so it can find ShortHelp (putting it in your Library
should be quite sensible - replace <HourExt$Dir>.ShortHelp by %.ShortHelp).
• You can however distribute ShortHelp separately from any of the other
files, and use it in your own programs. See the file “ShortHDocs” for more
information.
• You must distribute !Boot, !Run, !Sprites and Vsn110 together, or not at
all.
About all these strange foreign characters in this file
*******************************************************
OK, so if you’re reading this on a PC or a Mac or another strange machine
like that, you may be wondering what all these strange ae things are. Well,
they’re quotes (sorry, there was another one), dashes, ligatures, etc.
Honest. But not on all machines...
Basically, character sets are only standard up to character 127, which is
basically alphanumerics and a few standard punctuation marks. Foreign
characters, typographical oddities like quotes and ligatures, and other more
obscure symbols are “non-standard”, and each computer often has its own idea
of where they should go in the character set. So don’t worry: even if it’s
hard to read on your current machine, it won’t be on an Acorn machine. It may
look slightly strange if you’re using the System font, however.
But why am I using these strange characters in the first place? Well,
they’re in the character set and they look nice in an outine font, and I’ve
written a program called Smart Quotes (sorry for the plug) that substitutes
these sort of characters automatically, and I’ve got it turned on at the
moment...
How to contact me
*****************
All bug-reports, suggestions, comments or indeed any feedback at all will be
welcomed. Here’s how to get to me:
E-mail : 9262861k@arts.gla.ac.uk, 926286ki@udcf.gla.ac.uk during term-time
These should be OK until June 1996
At Christmas, Easter and during the summer, you can get me at
wombat@altern.com, wombat@email.teaser.com or sam@altern.com, in order
of preference (that is, if mail bounces off one of these or I don’t
answer within a week send to the next one).
Snail-mail : My term-time address, at least until June 1995, is:
Sam Kington
Flat 2/1
44 Hotspur Street
Glasgow G20 8NL
SCOTLAND
Again, a backup is the home address – anything that goes here will get
to me eventually.
Sam Kington
Merlhiot
24420 Savignac les Eglises
FRANCE
Term-time is October to June, with bits off at Christmas (3 weeks) and
Easter (4 weeks).